package model.contrainte;

public class ContrainteSalaire implements Contrainte{

	private double borneInferieurSalaire;
	private double borneSuperieurSalaire;
	
	public ContrainteSalaire(double borneInferieure,double borneSuperieur) {
		borneInferieurSalaire = borneInferieure;
		borneSuperieurSalaire = borneSuperieur;
	}
	
	/**
	 * @param borneInferieurSalaire the borneInferieurSalaire to set
	 */
	public void setBorneInferieurSalaire(double borneInferieurSalaire) {
		this.borneInferieurSalaire = borneInferieurSalaire;
	}
	/**
	 * @return the borneInferieurSalaire
	 */
	public double getBorneInferieurSalaire() {
		return borneInferieurSalaire;
	}
	/**
	 * @param borneSuperieurSalaire the borneSuperieurSalaire to set
	 */
	public void setBorneSuperieurSalaire(double borneSuperieurSalaire) {
		this.borneSuperieurSalaire = borneSuperieurSalaire;
	}
	/**
	 * @return the borneSuperieurSalaire
	 */
	public double getBorneSuperieurSalaire() {
		return borneSuperieurSalaire;
	}

	
	public TypeContrainte getTypeContrainte() {
		return TypeContrainte.SALAIRE;
	}

	
	public boolean isCompatible(Contrainte c) {		
		
		if(((ContrainteSalaire) c).borneInferieurSalaire<borneInferieurSalaire) return false; 
		if(((ContrainteSalaire) c).borneSuperieurSalaire>borneSuperieurSalaire) return false;
		return true;
	}

	
	public boolean equals(Contrainte c) {
		if(c.getTypeContrainte()!=getTypeContrainte())	return false;		
		if(((ContrainteSalaire) c).borneInferieurSalaire!=borneInferieurSalaire) return false; 
		if(((ContrainteSalaire) c).borneSuperieurSalaire!=borneSuperieurSalaire) return false;
		return true;
	}
	
	
	


}
